<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>        
<?php
define('KOLUMNA_IMIE','imie_nazwisko');
define('KOLUMNA_ROK_URODZENIA','rok_urodzenia');
define('KOLUMNA_KSYWA','ksywa');

include 'biblioteka-uzytkownik.php';

function wylosujImieNazwisko(){
    $imiona = array("Agata","Zenon","Stefan","John","Ewa","Kazimierz","Ula","Lena","Bartosz","Eugeniusz");
    $nazwiska = array("Smith", "Skoczylas", "Nowak", "Kot", "Mielonka","Korwin","Mikke","Kokoszek","Laden","Golonka");
    
    $losoweNazwisko=array_rand($nazwiska,2);
    $result = $imiona[array_rand($imiona)]." ".$nazwiska[$losoweNazwisko[0]];
    if (rand(1,8)==8) $result .= "-".$nazwiska[$losoweNazwisko[1]];
//    $result = $imiona[array_rand($imiona,1)]." ".$losoweNazwisko;
//    if (rand(1,8)==8) {
//        do {
//            $losoweDrugieNazwisko=$nazwiska[array_rand($nazwiska,1)];
//        } while ($losoweDrugieNazwisko==$losoweNazwisko);
//        $result .= "-".$losoweDrugieNazwisko;    
//    } 
    return $result;
}

function wylosujRokUrodzenia(){
    return rand(1950,2000);
}

function wygenerujKsywe(){
    //$znaki = array ("a","ą");
    //$znaki += array ("b","c","ć","d","e","ę","f","g","h","i","j","k","l","ł","m","n","ń","o","ó","p","q","r","s","ś","t","u","v","w","x","y","z","ź","ż","0","1","2","3","4","5","6","7","8","9");
    $sylaby = array ("bux","il","wan","Lin","zen","un","aru","ble","gis","das","sra","tor","QQ","co","ug","es","del","bar","si","al","ell","bit","kar","wus","vil","luk","ha","007","2012","xxx");
    $result = "";
    
    /*for ($iloscSylab=1;$iloscSylab<4;$iloscSylab++){ //minimum 3 sylaby
        $result .= $sylaby[array_rand($sylaby,1)];
    } 
    while(rand(1,2)==1){  // 50% na kolejny znak lub sylabę
        (rand(1,2)==1) ? $result .= $sylaby[array_rand($sylaby,1)] : $result .= $znaki[array_rand($znaki,1)];
        //po 50% na kolejną sylabę lub znak
    }*/
    for ($iloscSylab=rand(2,5);$iloscSylab>0;$iloscSylab--) $result .= $sylaby[array_rand($sylaby)];
    return $result;
}

function wygenerujUzytkownika(){
        $result = array();
        $result[KOLUMNA_IMIE] = wylosujImieNazwisko();
        $result[KOLUMNA_ROK_URODZENIA] = wylosujRokUrodzenia();
        $result[KOLUMNA_KSYWA] = wygenerujKsywe();
        return $result;
}

function unikalnaKsywa($bazaDanych,$proponowanyNick){
    //nr indeksu? count
    //return true / false
    //uwaga na $bazaDanych[0]
    $result = true;
    
    if (count($bazaDanych)==1) return $result;
    else {
        for ($indeks=count($bazaDanych)-2;($indeks>=0 && $result == true);$indeks--){
            if ($bazaDanych[$indeks][KOLUMNA_KSYWA] == $proponowanyNick) $result = false;
        }
    }
    return $result;
}

function wygenerujDane($iloscUzytkownikow){
    $result = array();
    $uzytkownik = array();
    
//    for ($indeks=0;$indeks<$iloscUzytkownikow;$indeks++){
//        $uzytkownik[KOLUMNA_IMIE] = wylosujImieNazwisko();
//        $uzytkownik[KOLUMNA_ROK_URODZENIA] = wylosujRokUrodzenia();
//        $uzytkownik[KOLUMNA_KSYWA] = wygenerujKsywe();
//        $result[$indeks][KOLUMNA_IMIE] = wylosujImieNazwisko();
//        $result[$indeks][KOLUMNA_ROK_URODZENIA] = wylosujRokUrodzenia();
//        $result[$indeks][KOLUMNA_KSYWA] = wygenerujKsywe();
        
        
        
//        if ($indeks)
//        for($drugiIndeks=$indeks-1;$drugiIndeks>=0;$drugiIndeks--){
//            if ($result[$indeks][KOLUMNA_KSYWA]==$result[$drugiIndeks][KOLUMNA_KSYWA]){
//                $result[$indeks][KOLUMNA_KSYWA] = wygenerujKsywe();
//                $drugiIndeks=$indeks;
//            }
//        }     
//        //$result[] = $uzytkownik;
//    }
    
    for ($indeks=0;$indeks<$iloscUzytkownikow;$indeks++){
        $uzytkownik = wygenerujUzytkownika();
        while (!unikalnaKsywa($result, $uzytkownik[KOLUMNA_KSYWA])){
            $uzytkownik[KOLUMNA_KSYWA] = wygenerujKsywe();
        }
        $result[] = $uzytkownik;
    }
    
        
    return $result;
}

$bazaDanych = wygenerujDane(100);
drukujTabele($bazaDanych);
print "<br><br><br>";
drukujTabele(wyszukajWTabeli("Kot", $bazaDanych));
?>
        
    </body>
</html>